The invention relates generally to organizing lists of display items generated by computer systems and, more particularly but not by way of limitation, to a method and system for logically and automatically associating multiple display items with common attributes to a group fold whereby the group of items will only require a single display item in the list.
Displaying lists of items, either vertical or horizontal, on a computer screen poses problems because the viewable display area on the computer screen is often limited. If there are too many items to be listed than can actually fit in the available display area, the list is typically clipped on the screen, and scrollbars are displayed to allow a user to navigate to the clipped data. Several methods to alleviate these problems are known in the prior art. One technique involves simply sorting the dataset items to position the desired items together for display. While this aggregates the desired items together, there may still be too many desired items than can fit on the display, and the clipping problem remains.
Another prior art technique used to display a list of items involves partitioning a single list of items into smaller sub-lists based on a hierarchical organization. One example of this hierarchical approach is the tree view control that is popular in user interfaces of many modern applications. In the tree view control, a hierarchical listing of nodes is displayed on the computer screen. The nodes represent sub-lists of items and may be expanded or collapsed to respectively show or hide the items in the sub-list as necessary. Each sub-list may have both list items and further sub-lists.
For example, FIG. 1 shows a tree view 110 according to the prior art displayed in a window 100 for a computer screen. In general, the prior art tree view 110 can have one or more parent nodes and zero or more sub-nodes. The relationship of each tree view item (i.e. element or node) to its parent node is determined from present descriptive aspects of the items to be listed at the time the tree view is created. For example, items such as files in a directory of a file system may be visually listed in a tree view based on the item's name and present location in the directory. Because fixed hierarchical rules are traditionally imposed on the items to be listed, each item may have additional descriptive aspects that are not displayed (i.e., geographic location of item, update time of item, or security status of item). In other words, the tree view control presents items merely within the context of a parent and child relationship based on fixed hierarchical rules applied to a predefined descriptive aspect of the items to be listed.
Hierarchical listing such as in tree views presents several problems for users when navigating through information displayed on a computer screen. One issue with hierarchical listing revolves around how the items are actually partitioned, which as noted above is typically fixed by the application developer. In another issue, a tree view having a deep hierarchical listing with numerous sub-lists is difficult for the user to navigate through on the computer screen, and there is a practical limit as to how much of the entire list should be partitioned into sub-lists. Therefore, the user has no guarantee that the sub-lists at the extremities of the tree view will be small enough to overcome the need for scrollbars. In other words, as the number of elements in a tree view increases, the usability of the tree view control decreases. For example, a tree view with 100 or even 1,000 items under a single parent node may no longer be presentable in the available display area without the introduction of scrollbars to permit the user to navigate the list of items.
More recently, Office Outlook® (Outlook), an electronic messaging application provided by Microsoft Corporation (Microsoft), provides a feature in which mail messages in a user's Inbox can, by default, be organized according to the date they were received, with groups such as “Today”, Monday”, “Last Week”, “3 Weeks Ago” and “Older”. (OUTLOOK is a registered trademark of Microsoft Corporation.) These organizations may be expanded and collapsed to show and hide messages, respectively. Other standard arrangements include, for example, priority, sender, and topic. Custom organization by up to four user-selected criteria may also be used.
Outlook's organization of messages is aimed at organizing the messages rather than maximizing the number of items that can be displayed on the screen at one time. Moreover, Outlook creates an organization whether there are one or one hundred messages for the criteria, and every message is placed in such an organization. Because each organization heading occupies valuable screen display area, creating an organization heading for a single item is wasteful. Furthermore, forcing an all-or-nothing approach to organizing the messages is restrictive. For example, it is not possible to organize just messages from “Bob” while leaving all of the other messages unorganized.